home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1986 August / 64er_Magazin_86-08_1986_Markt__Technik_de_Side_A.d64 / grafik wandler (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  4KB  |  144 lines

  1. 1000 rem ******************************
  2. 1010 rem *                            *
  3. 1020 rem * grafik wandler        1.86 *
  4. 1030 rem *                            *
  5. 1040 rem * norbert haas               *
  6. 1050 rem * muehlenweg 3               *
  7. 1060 rem * 5205 st. augustin 1        *
  8. 1070 rem *                            *
  9. 1080 rem ******************************
  10. 1090 :
  11. 1100 rem farben setzen, basic-ende auf 8191
  12. 1110 :
  13. 1120 print chr$(144);chr$(147);:poke 56,32:poke 53280,11:poke 53281,12
  14. 1130 :
  15. 1140 rem hiresbild schon geladen ?
  16. 1150 :
  17. 1160 l=l+1:if l=2 then 1320
  18. 1170 :
  19. 1180 rem eingabe namen und startadressen
  20. 1190 :
  21. 1200 print:input" name hiresbild ";hb$
  22. 1210 print:input" name loresbild ";lb$
  23. 1220 print:input" startadresse ";s1
  24. 1230 print:input" name zeichensatz ";zs$
  25. 1240 print:input" startadresse ";s2
  26. 1250 :
  27. 1260 rem lade hiresbild absolut
  28. 1270 :
  29. 1280 load hb$+"*",8,1
  30. 1290 :
  31. 1300 rem alle zeichen zulassen
  32. 1310 :
  33. 1320 for i=0 to 255
  34. 1330 poke 36864+i,0
  35. 1340 next
  36. 1350 :
  37. 1360 rem markieren der nichtzugelassenen zeichen
  38. 1370 :
  39. 1380 read c:if c<0 then 1440
  40. 1390 poke 36864+c,1
  41. 1400 goto 1380
  42. 1410 :
  43. 1420 rem lies maschinenroutine
  44. 1430 :
  45. 1440 for i=32768 to 33049
  46. 1450 read a:poke i,a
  47. 1460 next
  48. 1470 :
  49. 1480 rem hires-grafik an
  50. 1490 :
  51. 1500 poke 53265,peek(53265) or 32
  52. 1510 poke 53272,peek(53272) or 8
  53. 1520 :
  54. 1530 rem taste
  55. 1540 :
  56. 1550 get q$:if q$="" then 1550
  57. 1560 :
  58. 1570 rem hires-grafik aus
  59. 1580 :
  60. 1590 poke 53265,peek(53265) and 223
  61. 1600 poke 53272,peek(53272) and 247
  62. 1610 :
  63. 1620 rem bildschirm leer, aufruf maschinenroutine
  64. 1630 :
  65. 1640 print chr$(147);:sys 32768
  66. 1650 :
  67. 1660 rem alles ok ?
  68. 1670 :
  69. 1680 if peek(255)=1 then 2030
  70. 1690 :
  71. 1700 rem errechnen lo- und hibyte der startadressen
  72. 1710 :
  73. 1720 h1=int(s1/256):l1=s1-256*h1
  74. 1730 h2=int(s2/256):l2=s2-256*h2
  75. 1740 :
  76. 1750 rem speichern bildschirm
  77. 1760 :
  78. 1770 open 2,8,2,lb$+",p,w"
  79. 1780 print#2,chr$(l1);
  80. 1790 print#2,chr$(h1);
  81. 1800 for i=0 to 999
  82. 1810 print#2,chr$(peek(1024+i));
  83. 1820 next
  84. 1830 close 2
  85. 1840 :
  86. 1850 rem speichern zeichensatz
  87. 1860 :
  88. 1870 open 2,8,2,zs$+",p,w"
  89. 1880 print#2,chr$(l2);
  90. 1890 print#2,chr$(h2);
  91. 1900 for i=0 to 2047
  92. 1910 print#2,chr$(peek(16384+i));
  93. 1920 next
  94. 1930 close 2
  95. 1940 :
  96. 1950 rem ende ok
  97. 1960 :
  98. 1970 print chr$(147):print" fertig."
  99. 1980 print:print" anzahl freier zeichen:";255-peek(828)
  100. 1990 poke 56,160:clr:end
  101. 2000 :
  102. 2010 rem ende fehler
  103. 2020 :
  104. 2030 print chr$(147):print" zu viele verschiedene blocks."
  105. 2040 goto 1990
  106. 2050 :
  107. 2060 rem bildschirmcodes (!) erwuenschter zeichen
  108. 2070 :
  109. 2080 data 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
  110. 2090 data 32,46,48,49,50,51,52,53,54,55,56,57,160,-1
  111. 2100 :
  112. 2110 rem maschinenprogramm
  113. 2120 :
  114. 2130 data 120,165,  1, 41,251,133,  1,162,  0,160
  115. 2140 data 208,134,252,132,253,162,  0,160, 64,134
  116. 2150 data 254,132,255,162,  8,160,  0,177,252,145
  117. 2160 data 254,200,208,249,230,253,230,255,202,208
  118. 2170 data 242,165,  1,  9,  4,133,  1, 88,162,  0
  119. 2180 data 160, 32,134,254,132,255,162,  0,160, 64
  120. 2190 data 134,252,132,253,162,  0,160,  4,134,249
  121. 2200 data 132,250,162,  0,142, 60,  3,174, 60,  3
  122. 2210 data 189,  0,144,240, 23, 24,165,252,105,  8
  123. 2220 data 133,252,144,  2,230,253,238, 60,  3,240
  124. 2230 data   2,208,230,169,  1,133,255, 96, 24,160
  125. 2240 data   7,177,254,240,  1, 56,153,  0,145,136
  126. 2250 data  16,245,176, 34, 24,165,254,105,  8,133
  127. 2260 data 254,144,  2,230,255,230,249,208,  2,230
  128. 2270 data 250,165,254,201, 64,208,217,165,255,201
  129. 2280 data  63,208,211,169,  0,133,255, 96,173, 60
  130. 2290 data   3,160,  0,145,249,160,  7,185,  0,145
  131. 2300 data 145,252,136, 16,248, 24,165,254,105,  8
  132. 2310 data 133,254,144,  2,230,255,230,249,208,  2
  133. 2320 data 230,250,165,254,201, 64,208,  8,165,255
  134. 2330 data 201, 63,208,  2,240,203,166,254,164,255
  135. 2340 data 134,247,132,248,166,249,164,250,134,180
  136. 2350 data 132,181,160,  7,177,247,217,  0,145,208
  137. 2360 data  19,136, 16,246,160,  0,173, 60,  3,145
  138. 2370 data 180,160,  7,169,  0,145,247,136, 16,251
  139. 2380 data  24,165,247,105,  8,133,247,144,  2,230
  140. 2390 data 248,230,180,208,  2,230,181,165,247,201
  141. 2400 data  64,208,205,165,248,201, 63,208,199, 76
  142. 2410 data  85,128
  143.